import { ListPage } from "custom/index";
import { getScriptManagePage, removeScriptManagePage, updateCustomerSubAccountStatus } from './api'
import { ElMessage, ElMessageBox } from 'element-plus'

export async function changeStatus(ctx) {
  const row = ctx.props.row
  await ElMessageBox.confirm(`是否确定${row.status === 1 ? '停用' : '恢复'}子账号？`, '提示')
  updateCustomerSubAccountStatus({
    subAccountId: row.subAccountId,
    status: row.status === 1 ? 2 : 1
  }).then(() => {
    ElMessage.success('操作成功')
    ctx._c.dispatch('ListPage', 'getData')
  })
}

const page = new ListPage('SubAccountOnline');

page
  .api(getScriptManagePage)
  .useSearch()
    .addInputItem('keyword', '子账号名称/店铺ID/店铺名称')
    .addItem({ prop: 'accountName', label: '子账号名称' })
    .addItem({ prop: 'name', label: '客服姓名' })
    .addItem({ prop: 'flowerName', label: '客服花名' })
    .addItem({ prop: 'no', label: '客服工号' })
    .end()
  .useTable()
    .useIndexColumn().end()
    .useColumn('accountName').label('子账号名称').minWidth(140).end()
    .useColumn('accountPassword').label('密码').minWidth(120).end()
    .useColumn('shopId').label('店铺ID').minWidth(120).end()
    .useColumn('shopName').label('店铺名称').minWidth(140).sortable().end()
    .useColumn('createTime').label('子账号创建日期').minWidth(180).sortable().end()
    .useColumn('createUserName').label('创建人').minWidth(140).sortable().end()
    .useColumn('stopUserName').label('停用人').minWidth(140).end()
    .useColumn('stopTime').label('停用日期').minWidth(180).end()
    .useColumn('updateTime').label('操作日期').minWidth(180).end()
    .end() 
  .usePagination()
    .end()
  .useAuthButton()
    .useItem('export').content('导出数据').exportExcel().end()
    .end()
  .useAuthColumn({ width: 110 })
    .useItem('recovery').content('恢复').action(changeStatus).end()
    .useItem('delete').content('删除').removeRow(removeScriptManagePage, row => [row.subAccountId]).end()
    .end()

export default page
